home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
10
/
9
/
DISK1095.ZIP
/
RECEIPTS.PRG
< prev
next >
Wrap
Text File
|
1980-01-01
|
3KB
|
97 lines
* RECEIPTS
* PROCESS RECEIPTS AND UPDATE INCOME ACCOUNTS
SET HEADING OFF
SET SAFETY OFF
SET STATUS OFF
CLEAR
CLEAR ALL
SET TALK OFF
SET BELL OFF
* SET UP A STRING OF 80 BLANKS
STORE SPACE(80) TO BLANK
@ 1,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
@ 3,17 SAY ">> Accounting System Cash Receipts Program <<"
@ 5,29 SAY "Today's Date: "
?? DATE()
* OPEN RECEIVABLES FILE
USE RECFILE INDEX RFINVID
* OPEN LEDGER
SELECT B
USE ACCTCHRT INDEX ACCOUNT
STORE " " TO ACTION
DO WHILE ACTION<>"M"
STORE 101.00 TO INC_ACCT
STORE " " TO INV_ID
STORE 0.00 TO AMNTPD
STORE " " TO ACTION
STORE DATE() TO DATEPD
STORE " " TO CHECKNO
@ 9,1 SAY "Income Account Number " GET INC_ACCT
@ 9,40 SAY "Invoice ID " GET INV_ID
@ 11,1 SAY "Amount Paid " GET AMNTPD
@ 11,40 SAY "Date Paid " GET DATEPD PICTURE "99/99/99"
@ 13,1 SAY "Paid With Check Number " GET CHECKNO
@ 18,1 SAY;
"TYPE REQUESTED DATA AT CURSOR. PRESS ENTER KEY TO MOVE TO NEXT"
@ 19,1 SAY "FIELD. TYPE 'P' TO POST, 'M' FOR MENU, ANYTHING ELSE"+;
" TO SKIP ENTRY => " GET ACTION
READ
STORE UPPER(ACTION) TO ACTION
* IF AN INVOICE NUMBER IS PRESENT, TRY TO UPDATE RECEIVABLES FILE
IF ACTION="P"
IF INV_ID<>" "
SELECT A
FIND &INV_ID
IF (EOF() .OR. BOF())
@ 22,1 SAY BLANK
@ 23,1 SAY BLANK
STORE " " TO ACTION
@ 23,1 SAY ;
"*** INVOICE NUMBER NOT FOUND. PRESS ANY KEY TO RE-ENTER ";
GET ACTION
READ
@ 23,1 SAY BLANK
STORE " " TO ACTION
* FOUND INVOICE IN RECEIVABLES FILE SO UPDATE
ELSE
REPLACE AMOUNT WITH A->AMOUNT-AMNTPD, ;
DATE_PAID WITH DATEPD, CHECK_NUM WITH CHECKNO, ;
LAST_UPDT WITH DATE()
* IF RECEIVABLE RECORD FULLY PAID, FLAG FOR DELETION
IF A->AMOUNT=0
DELETE
ENDIF
ENDIF
ENDIF
* POST TRANSACTION TO LEDGER IF INPUT IS "P"
IF ACTION="P"
SELECT B
STORE STR(INC_ACCT,6,2) TO TEMP
FIND &TEMP
IF (EOF() .OR. BOF())
STORE " " TO ACTION
@ 22,1 SAY ;
"*** ERROR: THERE IS NO LEDGER ACCOUNT WITH THIS ACCOUNT NUMBER"
@ 23,1 SAY " PRESS ANY KEY TO CONTINUE " GET ACTION
READ
@ 22,1 SAY BLANK
@ 23,1 SAY BLANK
* LEDGER RECORD FOUND, SO DO UPDATE
ELSE
* CONSTRUCT MONTHn VARIABLE NAME
STORE DTOC(DATEPD) TO DATEPAID
IF VAL(SUBSTR(DATEPAID,1,2))>9
STORE SUBSTR(DATEPAID,1,2) TO MONTH
ELSE
STORE SUBSTR(DATEPAID,2,1) TO MONTH
ENDIF
STORE "MONTH"+MONTH TO MONTH
REPLACE ACCT_YTD WITH B->ACCT_YTD+AMNTPD,&MONTH WITH ;
&MONTH+AMNTPD,LAST_UPDT WITH DATE()
ENDIF
ENDIF
ENDIF
ENDDO
CLEAR
RETURN